home *** CD-ROM | disk | FTP | other *** search
/ Chip 1996 April / CHIP 1996 aprilis (CD06).zip / CHIP_CD06.ISO / szgyt / unixhist.txt < prev    next >
Text File  |  1996-02-06  |  13KB  |  213 lines

  1. A Unix rövid története
  2.  
  3. 2.0-ás, javított verzió ;-)
  4.  
  5. A sikertörténet paradox módon egy kudarccal kezdôdik. Az MIT, a Bell
  6. laboratórium és a General Electric a hatvanas évek végén belekezdett egy
  7. nagyszabású kutatási programba, amelynek során egy többfelhasználós,
  8. többfeladatos operációs rendszert szerettek volna írni. A rendszer a
  9. keresztségben a MULTICS nevet kapta (MULTiplexed Information and Computing
  10. Service), és meglehetôsen komoly célok megvalósítását tûzték ki elé. A
  11. fejlesztés PL/I nyelven folyt, annak ellenére, hogy abban az idôben még
  12. egyetlen mûködôképes PL/I fordító sem létezett. Az ehhez hasonló nehézségek
  13. végül a program feladására kényszerítették a kutatókat.
  14.  
  15. A MULTICS tehát besokallt, ami egyebek mellett azzal járt, hogy a program
  16. egyik résztvevôje kénytelen volt valami egyéb érdekes elfoglaltságot találni
  17. magának. Ken Thompsonról van szó, aki ekkor saját szakállára megírta a
  18. MULTICS egyszerûsített változatát egy használaton kívül lévô PDP-7
  19. számítógépen. Az új operációs rendszer kiherélt változata volt a MULTICSnak,
  20. erre utal szarkasztikus elnevezése is, amelyet Brian Kernighan ragasztott
  21. rá: eunuch multics, röviden UNICS (Uniplexed Information and Computing
  22. Service). Bármennyire földszintes is volt Ken Thompson operációs rendszere,
  23. a MULTICS-al szemben volt egy behozhatatlan elônye: mûködött. 1969-et írtak
  24. ekkor.
  25.  
  26. Ez a nem elhanyagolható tulajdonság késztette arra Dennis Ritchiet hogy
  27. egész osztályával együtt csatlakozzon a UNIX (közben megváltoztatták a
  28. helyesírást) fejlesztéséhez. Az így megerôsített csapat nekilátott, hogy
  29. elkészítse az operációs rendszer PDP-11 gépen futó változatát. Az ôs-unix
  30. assemly nyelven készült, így újra kellett írni az egészet, valahányszor egy
  31. új, más típusú gépre szerették volna adoptálni. Mivel operációs rendszert
  32. assembly nyelven írni egyáltalán nem szórakoztató dolog, még Ken Thompson
  33. számára sem, ezért kitalált egy B-nek nevezett nyelvet, azzal a szándékkal,
  34. hogy az operációs rendszert ebben írja meg. (A B nyelv a BPCL-bôl származik,
  35. ami pedig a CPL-bôl. A három programozási nyelvben az a közös, hogy igazából
  36. soha egyikük sem mûködött.)
  37.  
  38. Itt lépett közbe Dennis Ritchie, aki újratervezte a B nyelvet, bevezette a
  39. struktúrákat, és egy tuti fordítót is írt hozzá a PDP-11 gépre. Ken
  40. Thompsonnal közösen újraírták a Unixot ezen tökéletesített nyelven. (A
  41. nyelvnek a C nevet adták, és azóta is sok százezer programozó beszéli ezt a
  42. nyelvet, szerte a világon.)
  43.  
  44. A Unixról 1974-ben jelent meg az elsô részletes publikáció. Itt érdemes egy
  45. pillanatra megállni és megvizsgálni azokat a körülményeket, amelyek végül
  46. nem várt módon formálták a történelmet. Az egyik ilyen körülmény az volt,
  47. hogy a Bell laboratórium anyavállalata, az AT&T akkoriban ki volt tiltva a
  48. számítógépek piacáról, így a Unixot nem árulhatta pénzért. Semmi sem
  49. indokolta, hogy az operációs rendszert -forráskódjával együtt- ne adják oda
  50. bármelyik egyetemnek. ìgy is tettek. A másik körülmény, hogy a Unix
  51. PDP-11-en futott. Az egyetemeken akkoriban szinte nem is volt más gép, mint
  52. PDP-11. És ezen a ponton a DEC cég is alaposan besegített a Unix
  53. világsikerébe: a PDP-11 operációs rendszere történetesen olyan borzalmas
  54. volt, hogy a felhasználók éjjelente Digitális szörnyetegekkel álmodtak. Ezek
  55. után könnyû kitalálni, hogy mi történt: egyetemek százain kezdték használni
  56. a Unixot, a forráskód birtokában pedig megindult a véget nem érô buherálás.
  57.  
  58. Közben a Bell laboratórium munkatársai sem ültek karbatett kézzel: a PDP-11
  59. után következô célpontjuk egy Interdata 8/32 számítógép Unixosítása volt.
  60. Mivel az operációs rendszer C-ben volt írva, ez mindössze annyit jelentett,
  61. hogy az Interdata gépen egy C fordítóval lefordítják a PDP-11-en
  62. kifejlesztett forráskódot. Ez egyszerû feladat, feltéve, hogy az Interdata
  63. gépen van C fordító. Nem volt, így elôbb írni kellett egyet. Mivel minden,
  64. más gépre való adoptálás a C fordító adoptálásával kezdôdik, ezért Steve
  65. Jhonson írt egy "portable C compiler"-t, ami viszonylag kevés munkával
  66. bármilyen gépre átírható. (Ezután még sokáig ez képezte minden új C fordító
  67. alapját.)
  68.  
  69. Az Interdata Unixosítása során két komoly nehézség merült fel. Az elsô az,
  70. hogy a PDP-11 Unixban a fejlesztôk néhány dolgot természetesnek vettek
  71. (például azt, hogy az egész számok és mutatók 16 bitesek, a központi
  72. egységnek pedig három regisztere van.) Ezek közül az Interdata gépen egyik
  73. sem teljesült, így elég sok munkába került, mire a forráskódot e feltételek
  74. kezelésére is felkészítették.
  75.  
  76. A másik nehézség a földrajzi távolságból adódott: a PDP-11 a negyedik
  77. emeleten volt, az Interdata pedig a földszinten. A munka úgy zajlott, hogy a
  78. negyediken lefordították a készülô operációs rendszer kódját, majd a
  79. mágnesszalgokkal lesétáltak a földszintre hogy megnézzék, vajon mûködik-e?
  80. Valószínûleg ekkor kezdtek el komolyan foglalkozni a gondolattal, hogy a
  81. számítógépeket hálózatba kellene kötni.
  82.  
  83. A következô mérföldkövet az amerikai kormány rakta le azzal, hogy részekre
  84. bontotta az AT&T vállalatot, az utódok számára pedig megnyitotta az utat a
  85. számítástechnikai ipar felé. Hamarosan megjelent az elsô kereskedelmi Unix
  86. változat, System III néven. Nem igazán volt sikeres, így egy évvel késôbb
  87. megjelent a System V nevû javított változat. (Hogy hová lett a IV-es
  88. változat, az egyike a számítástechnika máig megoldatlan rejtélyeinek.) A
  89. System V több kiadást is megért, ezek Release 2, 3 és 4 néven ismertek.
  90.  
  91. A számtalan Unix-buheráló egyetem közül kiemelkedik a University of
  92. California at Berkeley. Ök számos ponton javítottak az AT&T-tôl valaha
  93. ingyen kapott Unixon, gyorsabb fájlrendszert írtak, elkészítették a VAX-on
  94. futó változatot, beépítették a hálózatkezelést (ami TCP/IP néven legalább
  95. olyan erterjedt a hálózati protokollok között, mint a C a programozási
  96. nyelvek terén), valamit számos segédprogramot (csh, vi, Lisp fordító, Pascal
  97. fordító, stb.) Az egyetem kereskedelmi változatú szoftvercsomaggá formálta
  98. az általuk fejlesztett Unix változatot és BSD (Berkeley Software
  99. Distribution) néven terjeszteni kezdte. (Ök mostanában a 4.3-as verziónál
  100. tartanak.)
  101.  
  102. Amint látható, a nyolcvanas évek végére a Unix-világot két különbözô,
  103. egymástól sok dologban eltérô Unix uralta. Ez elsôsorban azzal a szomorú
  104. következménnyel járt, hogy a System V Unix alatt írt C programra a BSD-s
  105. rendszerek fordítói fityiszt mutatnak, és fordítva. A C nyelv
  106. fordításvezérlô direktíváival (#ifdef , #ifndef, #endif) ugyan úrrá lehet
  107. lenni a helyezeten, de ez egyúttal azt jelenti, hogy a C programot minden
  108. géphez át kell egy kicsit alakítani, "portolni" kell.
  109.  
  110. Nagyjából minden nagyobb számítógép gyártó a két elterjedt rendszer (System
  111. V, BSD) valamelyikén alapulva készítette el saját Unix változatát. Mivel az
  112. inkompatibilitás senkinek nem tesz jót, ezért az AT&T kibocsátott egy
  113. szabvány ajánlást, az SVID-t (System V Interface Definition), amiben azt
  114. írja le, hogy szerintük mit kell tartalmaznia az egységes Unixnak, ami
  115. lehetôleg a System V legyen. A Berkeley Egyetem, és a BSD-nek elkötelezett
  116. Unix gyártók természetesen a figyelmen kívül hagyták az SVID-t szabványt, s
  117. ezzel kezdetét vette a System V kontra BSD "Unix háború ".
  118.  
  119. Az elsô nem csak kibocsátója által elfogadott szabványt az IEEE hozta létre,
  120. Portable Operaring System (rövidítve: POS) néven. Hogy Unixosabban
  121. hangozzék, a rövidítéshez hozzábiggyesztették az IX betûket: így lett a
  122. dologból POSIX. E szabvány azt írja le, hogy egy "hordozható" operációs
  123. rendszernek hogyan is kell kinéznie. Minden nagy gyártó elismeri a POSIX
  124. jelentôségét, operációs rendszereiben támogatja is azt. Mindazonáltal ez nem
  125. akadályozza meg ôket abban, hogy olyan kiegészítéseket, nem szabványos
  126. interfészeket és egyéb szolgáltatásokat építsenek be a termékükbe, amitôl a
  127. különbözô rendszerek továbbra is inkompatibilisek lesznek. A riválisok két
  128. szervezetbe tömörültek, a lövészárkok egyik oldalán a DEC által vezetett
  129. Open Systems Foundationt (OSF) találjuk, velük szemben pedig az AT&T
  130. alapította Unix International (UI) szövetséget.
  131.  
  132. Vizsgáljuk meg egy kicsit közelebbrôl e nagy háborúskodás okát! Az
  133. ôsidôkben, mikor néhány számítástechnikai mamutcég uralta a piacot, a
  134. számítógépek "önmagukkal" voltak kompatibilisek, azaz ha elromlott egy
  135. alkatrész, vagy a rendszert bôvíteni akarták, a berendezéseket kizárólag az
  136. eredeti gyártótól lehetett beszerezni. A mamutok alaposan vissza is éltek
  137. azzal, hogy a vásárló még a portörlô rongyot is kénytelen tûlük vásárolni,
  138. egy-egy alkatrészért szemrebbenés nélkül elkérték a piaci ár háromszorosát.
  139. (Néhány cég ma is folytatja ezt a gyakorlatot.)
  140.  
  141. A védekezést az jelentené, ha a különbözô gyártók számítógépei hajlandók
  142. lennének együttmûködni, azaz eltérô típusú gépekbôl is lehetne rendszert
  143. építeni. Ez egyrészt nagyobb szabadságot adna a felhasználóknak a
  144. vásárlásnál, másrészt esélyt biztosítana a gyártóknak, hogy berendezéseiket
  145. minél szélesebb körben vásárolják. Egy ilyen nyitott rendszerbe utólag
  146. bármelyik cég szoftverét vagy számítógépét be lehet illeszteni: ezt az álmot
  147. hívják "nyílt rendszereknek" (Open Systems).
  148.  
  149. Nyilvánvaló, hogy a nyílt rendszerek kulcsfontosságú kérdése a minden gyártó
  150. által elfogadott (és be is tartott) szabvány. Ha ezt a szabványt egy gyártó
  151. bocsátaná ki, akkor ezáltal elônyhöz jutna a piacon. A vallásháború
  152. lényegében azért tört ki, hogy eldöntsék, kinek a rendszerét fogadják el
  153. szabványként. Mivel egyik félnek sem sikerült felül kerekednie, a
  154. kilencvenes évek elején létrehoztak egy gyártófüggetlen szervezetet a nyílt
  155. rendszerek szabványainak elkészítésére és a "szabványnak megfelel"
  156. minôsítések kiadására. Ez a szervezet az X/Open, az általuk készített
  157. operációs rendszer szabvány neve pedig Core OS API, más néven Common API. A
  158. szabványt a benne leírt specifikációk alapján hívják Spec 1170-nek is, sôt
  159. egy további neve is van: UNIX 95. (A Microsoft még nem indított plágium pert
  160. :-)
  161.  
  162. Ha egy operációs rendszer átmegy az X/Open minôsítô tesztjein, megkapja a
  163. UNIX 95 minôsítést. A "levizsgáztatott" operációs rendszerre írt programok
  164. forráskódja hordozható, azaz buherálás nélkül le lehet fordítani egy másik
  165. gyártó ugyancsak UNIX 95 kompatibilis operációs rendszerén.
  166.  
  167. Nézzük, mit lát a UNIX 95-bôl az egyszerû felhasználó! Hmmm....egy
  168. ugyanolyan mezítábas parancssort, mint amilyet húsz évvel ezelôtt. A
  169. szabványban ugyanis nem szerepel a grafikus felhasználói felület, amelynek
  170. egységesítéséért ugyancsak ádáz küzdelem folyik. Készült ugyan egy CDE
  171. (Common Desktop Environment) nevû szabvány, amit XCDE néven az X/Open is
  172. átvett, de a gyártók nem sietnek saját grafikus felületüket e szabványhoz
  173. igazítani. Ennek persze nem az az oka, hogy az igazi UNIX buherátorok csak a
  174. parancssorban érzik igazán jól magukat, hanem az, hogy a UNIX alatt futó
  175. alkalmazások (például a nagy adatbázis-kezelô rendszerek) karakteres alapon
  176. mûködnek. ìgy aztán jóval kevesebb gyártót érint a grafikus felhasználói
  177. felület ügye.
  178.  
  179. Pedig nekik is lenne mitôl félniük, mert a PC világban grafikus szabványt
  180. teremtô Microsoft a kertek alatt már javában nyomul a nyílt rendszerek felé.
  181. Charles Simonyi (na tessék, megint egy magyar!), a Microsoft második embere
  182. már a kilencvenes évek elején azt nyilatkozta a Számítástechnika címû újság
  183. riporterének, hogy: "Ha valaki azt mondja, hogy UNIX, úgy gondolom, nem
  184. ôrûlt. Lehet, hogy még nem hallott az NT-rôl." A redmonti programozók szép
  185. csendben összehoztak kliens-szerver alapú, mikrokerneles, több féle
  186. processzoron is futó operációs rendszert, a Windows New Technology-t. Az NT
  187. legelsô változatának grafikus felülete ránézésre ugyanolyan volt, mint a jó
  188. öreg Windows 3.1-é; mégpedig azért, hogy a felhasználók számára ismerôs
  189. legyen.
  190.  
  191. A felhasználó pedig ránézett a Windows NT-re és így szólt magában: "Jééé, ez
  192. ugyanúgy néz ki, mint a Windows 3.1! Akkor biztosan ez is ugyanolyan gagyi!"
  193. Hosszú idônek kellett eltelnie, mire a felhasználók feleszméltek, hogy
  194. kivételesen nem egy jól reklámozott videojátékkal, hanem egy véresen komoly
  195. operációs rendszerrel állanak szemben. Mi áll az NT hátterében? Mikor Bill
  196. Gates elhatározta, hogy célba veszi a kiszolgáló gépek piacát, azzal kezdte
  197. a munkát, hogy keresett egy embert, aki tud operációs rendszert írni. (Ez
  198. az, amit az MS-DOS megalkotásakor sajnálatos módon elmulasztott.) Az illetô
  199. pedig nem más, mint a VMS operációs rendszer apukája - a Windows NT tehát
  200. több szempontból is a VMS utódjának tekinthetô. (Egy érdekes szójáték is
  201. alátámasztja ezt: ha a VMS betûi helyett sorban az ábécé következô betûit
  202. vesszük, a WNT szót kapjuk eredményül.)
  203.  
  204. Mit hoz a jövô? Nem kétséges, hogy újabb háborút. A UNIX világnak pedig
  205. alighanem alaposan össze kell szednie magát, ha nem akar érzékeny
  206. veszteségeket szenvedni a Microsoft elleni harcban...
  207.  
  208. Megjegyzések
  209.  
  210. Igazságtalanok lennénk ha elhallgatnánk, hogy pár évvel késôbb a MULTICS
  211. mégis elkészült, a mai napig is kapható, a Unix sikerét azonnban soha nem
  212. közelítette meg.
  213.